package com.ruoyi.user.utils;


import com.alibaba.fastjson.JSON;
import com.ruoyi.user.domain.*;
import org.apache.http.HttpResponse;
import org.apache.http.util.EntityUtils;

import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.HashMap;
import java.util.Map;

public class SfzUtis {
    public static ReVo postForm(String file) throws Exception {
        //以精品服务打造精品API产品。
//vip优惠券，技术支持。请直接联系客服（vx同号）  15622205140。
        String host = "https://vidocr.market.alicloudapi.com";
        String path = "/lundear/idocr";
        String method = "POST";
        String appcode = "a4b4cbfc92c141c9ad82d99379ebb2a4";
        Map<String, String> headers = new HashMap<String, String>();
        //最后在header中的格式(中间是英文空格)为Authorization:APPCODE 83359fd73fe94948385f570e3c139105
        headers.put("Authorization", "APPCODE " + appcode);
        //根据API的要求，定义相对应的Content-Type
        headers.put("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
        Map<String, String> querys = new HashMap<String, String>();
        Map<String, String> bodys = new HashMap<String, String>();
//        bodys.put("image", "image");
        bodys.put("url", file);
        ReVo reVo = new ReVo();
        String responseBody = null;

        try {
            HttpResponse response = HttpUtils.doPost(host, path, method, headers, querys, bodys);
            // 检查响应状态码或其他你需要的操作
            // ...
            // 获取response的body，只读取一次
            responseBody = EntityUtils.toString(response.getEntity());
            System.out.println(responseBody);
            GetUid getUid = JSON.parseObject(responseBody, GetUid.class);
            System.out.println(getUid);
            Data data = getUid.getData();
            //判断是出生日期否为空
//            if (data.getBirthday()!=null){
//                SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd");
//                String formattedDate = outputFormat.format(data.getBirthday());
//                data.setBirthday(formattedDate);
//            }
            reVo.setData(data);
            // 设置reVo的数据
        } catch (Exception e) {
            e.printStackTrace();
        }
// 注意：确保在返回reVo之前，response和其他相关资源已经被正确关闭或处理
// 如果HttpUtils.doPost内部没有处理这些资源的关闭，你可能需要在这里做
// ...
        return reVo;
    }
}




/**
 *重要提示：
 *如您的返回结果中，没有我们接口的返回报文，或者连header的信息都打印出来了。可能是您的代码环境未能适配该请求示例。
 *那么，以下两个命令行，您可以二选一，选择一个适合你环境的加入到请求示例中。即可打印我们接口的返回报文。
 *或者直接联系客服  VX 15622205140
 *
 *System.out.println(EntityUtils.toString(response.getEntity()));
 *
 *System.out.println(response.body().string());
    }
**/